package com.neusoft.demo1;

import java.util.Scanner;

/**
 * 模拟实现注册登录的系统
 * 主要的功能： 注册、登录、抽奖
 * 1. 输出菜单并让用户选择菜单
 *      *****************************************
 *      1. 注册
 *      2. 登录
 *      3. 抽奖
 *      *****************************************
 *      请选择菜单：
 *      2
 *      输出登录
 *2. 循环菜单
 *  *****************************************
 *  *      1. 注册
 *  *      2. 登录
 *  *      3. 抽奖
 *  *      *****************************************
 *  *      请选择菜单：
 *  *      2
 *  *      输出登录
 *         是否继续(y/n)n
 *         退出系统
 *
 *3. 实现注册功能
 *   要求：用户要输入用户名和密码  系统会自动生成一个4位的随机卡号
 *   *  *****************************************
 *  *  *      1. 注册
 *  *  *      2. 登录
 *  *  *      3. 抽奖
 *  *  *      *****************************************
 *  *  *      请选择菜单：
 *  *  *      1
 *  *  *      请输入个人信息
 *            用户名： fender
 *            密码： 123456
 *
 *            注册成功了！！！！！！
 *            用户名     密码      卡号
 *            fender    123456    3456
 *
 *            是否继续(y/n)n
 *  *         退出系统
 *
 *  登录功能的实现
 *      需求分析：输入用户名和密码，如果例如成功显示欢迎信息
 *              如果用户和密码输入错误，提示用户继续输入，最多只有3次机会
 */
public class Example {
    public static void main(String[] args) {
        String answer = "y";
        boolean isRegister = false; //标识是否注册成功
        boolean isLogin = false;//标识是否登录成功
        String userName = "";
        String passWord = "";
        do {
            System.out.println("************************************************");
            System.out.println("*******************1. 注册**********************");
            System.out.println("*******************2. 登录**********************");
            System.out.println("*******************3. 抽奖**********************");
            System.out.println("************************************************");
            Scanner input = new Scanner(System.in);
            System.out.println("请选择菜单: ");
            int choice = input.nextInt();
            switch (choice) {
                case 1:
                    System.out.println("注册");
                    System.out.println("用户名");
                    userName = input.next();
                    System.out.println("密码");
                    passWord = input.next();
                    //生成四位的随机数
                    int cardNumber = (int) (Math.random() * (9999 - 1000)) + 1000;
                    System.out.println(userName + "-----" + passWord + "-----" + cardNumber);
                    isRegister = true;
                    break;
                case 2:
                    System.out.println("登录");
                    //判断用户是否注册 {
                        //用户输入登录的用户名和密码
                        //如果登录成功显示用户名
                        //只有3次机会
                    //}else {
                    //  提示用户请先注册，然后再登录
                    // }
                    if(isRegister) {
                        //只有3次机会
                        for (int i = 1;i<=3;i++) {
                            //用户输入登录的用户名和密码
                            System.out.println("请输入登录的用户名: ");
                            String inputName = input.next();
                            System.out.println("请输入登录的密码: ");
                            String inputPass = input.next();
                            //如果判断登录是否成功，需要与注册时输入的用户名和密码比对是否相等
                            if(inputName.equals(userName)&&inputPass.equals(passWord)) {
                                System.out.println("登录成功！！！" + userName);  //如果登录成功显示用户名
                                isLogin = true;
                                break; //跳出循环
                            }else if(i < 3) {
                                System.out.println("您输入的用户名和密码不正确，您还有" + (3-i)+"次机会");
                            }else {
                                System.out.println("您输入3次错误信息！！！！！！");
                            }
                        }
                    }else {
                        System.out.println("提示用户请先注册，然后再登录");
                    }
                    break;//跳出switch
                case 3:
                    if(isLogin) {
                        System.out.println("抽奖");
                    }else {
                        System.out.println("请先登录，然后才能抽奖");
                    }

                    break;
                default:
                    System.out.println("输入错误!!!");
                    break;
            }
            System.out.println("是否继续(y/n)");
            answer = input.next();
        }while ("y".equals(answer));
        if("n".equals(answer)) {
            System.exit(0); //退出系统
        }
    }
}
